2026-01-28T16:25:57Z
C-Menu is a lightweight, flexible, and easy-to-use suite of programs for creating a sophisticated user interface for your applications. Menus, Form, Pick, and View, using a classical text-based terminal interface(TUI) for applications running on Linux and Unix-like operating systems. C-Menu is designed to be simple to use while providing powerful features to implement menu driven frameworks for applications.
This is a real TUI. No GUI libraries, no X11, no Wayland, no dependencies on bloated toolkits. Just good old-fashioned text mode, using NCurses for terminal handling.
While C-Menu does support mouse input, the primary mode of operation is keyboard driven, as God intended. You can navigate menus, fill out forms, and pick items using only the keyboard. This makes C-Menu ideal for use in terminal environments where mouse input may not be available or practical.
At the top of the stack is C-Menu Menu, which reads a simple description file like the one below and displays a colorful and easy-to -follow menu to the user. When the user selects an item, with either keyboard or mouse, C-Menu executes the corresponding command. It’s like writing shell scripts, but with a snazzy menu interface.
From the above examples, you can get an idea of how C-Menu works. Examine line-21 in “main.m” above. C-Menu Menu starts C-Menu View, which in turn executes “tree-sitter highlight view_engine.c”. Tree -Sitter doesn’t need to know anything about C-Menu View. It just sends output to it’s standard output device, which happens to be a pipe into C-Menu View’s receiver. C-Menu View maps Tree-Sitter’s output to the Kernel’s demand paged virtual memory and you get: